Einrichtung des Maven Tools

Um eine möglichst automatisierte Analyse, Test und Darstellung des Source Codes zu erreichen wird das Maven Tool eingesetzt. Es generiert aus den zur Verfügung gestellten Source Daten verschiedene Reports zum Aufbau, Stil, Testabdeckung uvm. der Anwendung. Anhand dieser Reports kann man sowohl den Stil, die Testabdeckung als auch die Objektorientierung der Anwendung verbessern. Auch die Dokumentation (JavaDoc) und die Erstellung verschiedener benutzerdefinierter Webseiten aus dem XML Format (z.B. FAQ, Changelog oder Projektplan), der sogenannten XDocs übernimmt Maven.

Um dieses Tool zu benutzen laden wir eine binäre Distribution herunter (nur von maven 1.0 rc-2 muss ich vorerst abraten hier ist ein Fehler im xdoc Plugin). Diese wird dann in das Verzeichnis /opt/maven entpackt.

Nun wird im Verzeichnis /opt/maven ein Unterverzeichnis repository angelegt und folgender Befehl auf der Konsole im Verzeichnis /opt/maven/bin/ ausgeführt.

./install_repo.sh /opt/maven/repository

Anschliessend wird im Verzeichnis /opt/maven ein Unterverzeichnis cabaweb angelegt. In diesem Unterverzeichnis wird eine Datei compile.sh mit den Rechten 777 angelegt.

Diese Datei soll später den Nightly Build als CronJob erzeugen bzw. auch bei Bedarf einen Maven Run durchführen. In Ihr werden alle nötigen Pfade definiert (JAVA_HOME, ANT_HOME, MAVEN_HOME, CATALINA_HOME, PATH), das CabaWeb Verzeichnis aufgeräumt, dann ein CVS Checkout der CabaWeb Anwendung durchgeführt. Zum Schluss werden nacheinander eine JAR Datei erzeugt und die Maven Dokumentation bzw. Reports generiert.

#!/bin/bash

PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin

PATH=$PATH:/usr/local/sbin:/usr/java/j2sdk1.4.2_03/bin

PATH=$PATH:/usr/java/apache-ant-1.6.1/bin:/opt/maven/bin

JAVA_HOME=/usr/java/j2sdk1.4.2_03

ANT_HOME=/usr/java/apache-ant-1.6.1

MAVEN_HOME=/opt/maven

CATALINA_HOME=/opt/tomcat

export PATH JAVA_HOME ANT_HOME CATALINA_HOME MAVEN_HOME



cd /opt/maven/cabaweb

rm -f -r src/*

rm -f -r target/*

rm -f -r xdoc/*

rm -f *.log

rm -f *.properties

rm -f *.ser

rm -f *.txt

rm -f *.xml

cd /opt/maven



cvs -z3 -d :pserver:Username@ServerIP:/opt/cvsroot co cabaweb

mkdir /opt/maven/cabaweb/target/test-classes

cp /opt/maven/cabaweb/src/conf/* /opt/maven/cabaweb/target/test-classes



cd /opt/maven/cabaweb

maven clean jar:snapshot site:generate

cd /opt/maven



wobei ServerIP der Name des Rechners oder dessen IP ist und Username den Benutzername.

Ein Ausführen dieses Scripts erzeugt alle nötigen Daten und Reports.